﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

namespace TowerDefence
{
    public class UseShopItem : MonoBehaviour
    {
        public bool isGoldItem;        // 是否为金币道具
        public bool isBombItem;        // 是否为炸弹道具
        public bool isHealthItem;      // 是否为生命道具
        public bool isFreezeItem;      // 是否为冻结道具

        public Image image;            // 道具的图像组件
        public Sprite icon;             // 道具的图标
        public TextMeshProUGUI itemAmountText;  // 显示道具数量的文本组件

        private void Start()
        {
            image.sprite = icon;  // 设置道具图像为指定图标

            // 根据道具类型设置初始数量文本
            if (isGoldItem)
                itemAmountText.text = PlayerDataManager.GoldItemAmount.ToString();
            if (isBombItem)
                itemAmountText.text = PlayerDataManager.BombItemAmount.ToString();
            if (isHealthItem)
                itemAmountText.text = PlayerDataManager.HealthItemAmount.ToString();
            if (isFreezeItem)
                itemAmountText.text = PlayerDataManager.FreezeTimeItemAmount.ToString();
        }

        private void Update()
        {
            if (isBombItem)
                itemAmountText.text = PlayerDataManager.BombItemAmount.ToString();
        }

        public void GoldItem()
        {
            // 如果金币道具数量为零，不执行后续操作
            if (PlayerDataManager.GoldItemAmount <= 0)
                return;

            // 减少金币道具数量，更新文本显示，增加玩家金币
            PlayerDataManager.GoldItemAmount -= 1;
            itemAmountText.text = PlayerDataManager.GoldItemAmount.ToString();
            PlayerStats.Gold += 200;
        }

        public void BombItem()
        {
            // 如果炸弹道具数量为零，不执行后续操作
            if (PlayerDataManager.BombItemAmount <= 0)
                return;

            // 激活炸弹道具效果
            GameItemManager.activeItem = true;
        }

        public void HealthItem()
        {
            // 如果生命道具数量为零，不执行后续操作
            if (PlayerDataManager.HealthItemAmount <= 0)
                return;

            // 减少生命道具数量，更新文本显示，增加玩家生命值
            PlayerDataManager.HealthItemAmount -= 1;
            itemAmountText.text = PlayerDataManager.HealthItemAmount.ToString();
            PlayerStats.Health += 25;
        }

        public void FreezeItem()
        {
            // 如果冻结道具数量为零，不执行后续操作
            if (PlayerDataManager.FreezeTimeItemAmount <= 0)
                return;

            // 减少冻结道具数量，更新文本显示，激活敌人冻结效果
            PlayerDataManager.FreezeTimeItemAmount -= 1;
            itemAmountText.text = PlayerDataManager.FreezeTimeItemAmount.ToString();
            GameItemManager.freezeEnemies = true;
        }

    }
}
